Color motion artifact detection and processing apparatus compatible with video coding standards

ABSTRACT

To detect color motion artifacts in a video frame, a motion-compensated color-distance value is compared against a threshold value. If the motion-compensated color-distance value is greater than or equal to the threshold value, color-motion artifacts are detected. The motion-compensated color-distance value is a sum of absolute values of the differences between corresponding pixel values of the video frame and a reference frame. To detect color motion artifacts in a video frame, in another embodiment, luminance and chrominance components of the intra-frame activity levels are compared against luminance and chrominance components of the inter-frame activity levels. If any of the components of the inter-frame activity levels is greater than the corresponding components of the intra-frame activity levels, color-motion artifacts are detected. To reduce color-motion artifacts, either a smaller quantization scale or intra-frame encoding is used to encode the data.

BACKGROUND OF THE INVENTION

[0001] The present invention relates to processing of video data, andmore specifically to detection and reduction of color-motion artifactsin processing of video data.

[0002] Successive frames in a typical video sequence are often verysimilar to each other. For example, a sequence of frames may have scenesin which an object moves across a stationary background, or a backgroundmoves behind a stationary object. Consequently, many scenes in one framemay also appear in a different position of a subsequent frame. Videosystems take advantage of such redundancy within the frames by usingpredictive coding techniques, such as motion estimation and motioncompensation, to reduce the volume of data required in compressing theframes.

[0003] In accordance with the well-known motion estimation technique, toconserve bit rate, data related to the differences between positions ofsimilar objects in successive frames are captured by one or more motionvectors. The motion vectors are then used to identify the spatialcoordinates of the shifted objects in a subsequent frame. The motionvectors therefore limit the bit rate that would otherwise be required toencode the data associated with the shifted objects.

[0004] Motion estimation and compensation are used in severalinternational standards such as H.261, H.263, MPEG-1, MPEG-2, andMPEG-4. Partly due to its computational intensity, a motion vector isshared typically by all color components in (Y,U,V) or (Y, C_(r),C_(b))coordinate systems. In the (Y,U,V) color coordinate system, Y is theluma component (also referred to below as the luminance and is relatedto the intensity), and U and V are the chroma components (also referredto below as the chrominance components and are related to hue andsaturation) of a color. Similarly, in the (Y, C_(r),C_(b)) colorcoordinate system, Y is the luma component, and C_(b) and C_(r) are thechroma components. Each motion vector is typically generated for amacroblock. Each macroblock typically includes a block of, e.g., 16×16or 8×8 pixels. The MPEG-2 standard provides an interlaced mode thatseparates each 16×16 macroblock into two 16×8 sub-macroblocks eachhaving an associated motion vector. In the following, the terms block,macroblock, and sub-macroblock may be used interchangeably.

[0005] To simplify computation, most commonly known video standards useonly the luminance component to generate a motion vector for eachmacroblock. This motion vector is subsequently applied to both chromacomponents associated with that macroblock. The generation of a motionvector using only the luminance component may cause undesirablecolor-motion artifacts (alternatively referred to hereinbelow as colorartifacts) such as color patches.

[0006] To further the reduce bit rate for encoding of video data,inter-frame and intra-frame encoding have been developed. In accordancewith the inter-frame coding, the difference between the data containedin a previous frame and a current frame is used to encode the currentframe. The inter-frame encoding may not improve coding efficiency, forexample, if the current frame is the first frame in a new scene (i.e.,when there is a scene change), in which case intra-frame encoding isused. In accordance with the intra-frame encoding, only the informationcontained within the frame itself is used to encode the frame.

[0007]FIG. 1 is a simplified high-level block diagram of a conventionalsystem 100 adapted to detect color-motion artifacts. System 100 receivesa sequence of incoming video frames via frame reorder block 102. Inresponse, frame reorder block 102 serially supplies the (Y,U,V)components of a current frame of the frame sequence to anadder/subtractor 104. Adder/subtractor 104 is also adapted to receive asignal from motion compensation block 106 via selector 108. If selector108 is in the upper position, then intra-frame coding is used in whichcase a null signal (i.e., 0) is supplied to adder/subtractor 104. On theother hand, if selector 108 is in the lower position, then inter-framecoding is used. Adder/subtractor 104 generates a signal that correspondsto the difference between the video data supplied by frame reorder block102 and that supplied by selector 108.

[0008] The signal generated by adder/subtractor 104 is supplied to adiscrete cosine transform (DCT) block 110 whose output signal isquantized by a quantizer 112. The quantized signal generated byquantizer 112 is then encoded by variable-length coder (VLC) 114. Thesignal encoded by VLC 114 is then stored in buffer 116, which in turn,supplies the encoded video bit stream to a video decoder (not shown).

[0009] The signal generated by quantizer 112 is inversely quantized byan inverse quantizer 118 and is subsequently delivered to an inverse DCT(IDCT) 120. IDCT 20 performs an inverse DCT function on the signal itreceives and supplies that signal to adder 122. Adder 122 adds thesignal it receives from selector 108 to the signal it receives from IDCT120 and stores the added result in frame memory 124 for futureretrieval. The signal stored in frame memory 124 only includes the lumacomponent of a current frame and is adapted to serve as a referenceframe for motion estimation and compensation of future frames.

[0010] A motion estimator 128 receives the signal stored in frame memory124 and the signal supplied by frame reorder block 102 to generate amotion vector signal that is supplied to motion compensation block 106.Only the luma components of the current frame—as supplied by framereorder block 102—and the reference frame—as supplied by frame memory124—are received and used by motion estimator 128 to generate a motionvector. The motion vector generated by motion estimator 128 is suppliedto motion compensator 106. Motion compensator 106, in turn, compensatesfor the motion of the signal it receives from frame memory 124 using themotion vector signal that it receives from motion estimator 128. Theoutput signal generated by motion compensator 106 is amotion-compensated signal of a current frame and serves as the referenceframe for the next incoming frame when inter-frame encoding is used.

[0011] There may be occasions when a reference frame is not required.For example, no reference frame is required when a new video sequence isreceived by system 100. Similarly, there is no need for a referenceframe when processing the first frame of a new scene. To accommodatesituations where no reference frame is needed, selector 108 is providedwith an upper position. When placed in the upper position, a null signal(i.e., 0) is transferred to subtracted 104.

[0012] Conventional luminance-only based motion estimation andcompensation systems, such as system 100, fail to reflect the truemovement of an object in a video sequence. This failure results innoticeable color-motion artifacts. FIG. 2 is an exemplary diagramshowing color-motion artifacts stemming from failure to detect themotion of a color object. In FIG. 2, a uniform gray area 200 provides abackground to two synthetic color patches, namely a red color patch 210and a green color patch 220. Both red and green color patches 210 and220 produce the same luminance level as gray background 200. Both colorpatches 210 and 220 are also moving in front of gray background 200.

[0013] Assume that in FIG. 2, the color conversion recommended by theITU-R standard BT.709 is used, as shown below:

Y=0.715G+0.072B+0.213R.

[0014] Assume further that gray background 200 has (R,G,B) colorcomponents of (40,40,40) resulting in a luma component (i.e., intensitylevel) of 40. Assume further that red color patch 210 and green colorpatch 220 have respective (R,G,B) color components of (188,0,0) and(0,56,0). Consequently, in accordance with equation (1) above, both redcolor patch 210 and green color patch 220 have the same luminance level(i.e., 40) as the gray background 200. Therefore, conventionalluminance-only based motion estimation and motion compensation systems,such as system 100 of FIG. 1, fail to detect the movement of red andgreen color patches 210 and 220 relative to gray background 200. Thisfailure results in noticeable differences in the quantization errors ofthe chroma components—particularly for the gray background—therebycreating color motion artifacts.

[0015] One known method for overcoming the problems associated withluminance-only motion estimation and compensation systems is describedin U.S. Pat. No. 5,544,263 and which involves performing motionestimation for each of the color components (Y,U,V). Thisthree-motion-vector method, while achieving a good match for each of thecolor components, substantially increases the computational intensity.The increase in computational intensity, increases both the cost of thesystem as well as the bandwidth requirement for transmitting the threemotion vectors. This, in turn, limits the available bit rate to encodethe motion-compensated inter-frame differences. Therefore, although themethod as described in U.S. Pat. No. 5,544,263 has an improved colormotion artifact rejection, because it provides less bandwidth to encodethe inter-frame differences, it is less immune to granular noise.

[0016] Another known method for overcoming the problems associated withluminance-only motion estimation and compensation systems is describedin U.S. Pat. No. 5,544,263 and which involves using all color componentswhen matching blocks. In accordance with this method, block-matching foreach macro block is performed only once. However, this technique mayrequire 50% more computation than do the luminance-onlymotion-estimation and compensation systems. This 50% increase incomputation increases the system complexity and cost.

[0017] Need continues to exist for improved color motion artifactdetection and reduction techniques.

BRIEF SUMMARY OF THE INVENTION

[0018] In accordance with one aspect of the present invention, to detectcolor motion artifacts in a video frame block, a motion-compensatedcolor-distance value associated with that frame block is comparedagainst a threshold value. If the motion-compensated color-distancevalue associated with the frame block is greater than or equal to thethreshold value, the frame block is identified as containingcolor-motion artifacts.

[0019] In one embodiment, the motion-compensated color-distance value isdefined by a sum of squared distances of corresponding red, green andblue component values of similarly positioned pixels of the frame blockand an associated reference frame block. In another embodiment, themotion-compensated color-distance value is defined by a sum of absolutevalues of differences of corresponding luminance and chrominancecomponent values of similarly positioned pixels of the frame block andan associated reference frame block. In one embodiment, the thresholdvalue is defined by a level of activity within the frame block. Inanother embodiment, the threshold value is defined by a target bit rateallocated for encoding the frame block.

[0020] In accordance with another aspect, to detect color-motionartifacts, chroma and luma components of the intra-frame activity levelsof a video frame are compared to chroma and luma components of theinter-frame activity levels for that video frame block. If any componentof the inter-frame activity levels is greater than the correspondingcomponent of the intra-frame activity level, the frame block isidentified as containing color motion artifact(s).

[0021] In accordance with another aspect of the present invention, toreduce any detected color-motion artifacts either (1) a smallerquantization scale or (2) intra-frame—in place of inter-frame—is used toencode the data.

BRIEF DESCRIPTION OF THE DRAWINGS

[0022]FIG. 1 is a simplified high-level block diagram of a conventionalluminance-only based system adapted to detect color motion artifacts.

[0023]FIG. 2 is an exemplary diagram of a color-motion artifacts causedby the system of FIG. 1.

[0024]FIG. 3 is a simplified high-level block diagram of a systemadapted to detect and reduce color-motion artifacts, in accordance withone embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0025] In accordance with one aspect of the present invention, to detectcolor-motion artifacts in a video frame, a motion-compensatedcolor-distance value is compared to a threshold value. If themotion-compensated color-distance value is greater than or equal to thethreshold value, the video frame is identified as containingcolor-motion artifacts. In accordance with another aspect, to detectcolor-motion artifacts in a video frame, chroma and luma components ofthe intra-frame activity levels of a video frame are compared to chromaand luma components of the inter-frame activity levels for that videoframe. If any of the components of the inter-frame activity levels isgreater than the corresponding component of the intra-frame activitylevels, the video frame is identified as containing color motionartifacts. In accordance with another aspect, to reduce any color-motionartifacts, either (1) a smaller quantization scale or (2) data isencoded using intra-frame encoding.

[0026] Motion-Compensated Color-Difference Value

[0027] To detect color-motion artifacts in each block of a video frame,first a motion-compensated color-distance value for that block(alternatively referred to hereinbelow as the current block or theunderlying block) is computed, as described further below. Assume thatthe red, green and blue components of a video signal associated with apixel disposed at coordinates (i, j) of the current block of a videoframe are respectively represented by r(i, j), g(i, j), and b(i, j).Assume further that the red, green and blue components of a video signalassociated with a pixel disposed at coordinates (i, j) of acorresponding block of a reference frame is represented by r′(i, j),g′(i, j), and b′(i, j). In accordance with the present invention, themotion-compensated color-difference value D is computed using thefollowing equation: $\begin{matrix}\begin{matrix}{D = {\sum\limits_{i}{\sum\limits_{j}\left\{ {\left\lbrack {{r\left( {i,j} \right)} - {r^{\prime}\left( {i,j} \right)}} \right\rbrack^{2} +} \right.}}} \\\left. {\left\lbrack {{g\left( {i,j} \right)} - {g^{\prime}\left( {i,j} \right)}} \right\rbrack^{2} + \left\lbrack {{b\left( {i,j} \right)} - {b^{\prime}\left( {i,j} \right)}} \right\rbrack^{2}} \right\}\end{matrix} & (1)\end{matrix}$

[0028] As is seen from equation (1), the double summation to compute Dis performed over all the pixels of the current block.

[0029] As is known to those skilled in the art, the color transformationbetween RGB and YUV color coordinate system is as follows:

R=Y+1.574V≅Y+1.5V

G=Y−0.187U−0.469V≅Y−0.5V

B=Y+1.856U≅Y+2U

[0030] Accordingly, equation (1) expressed in the YUV color coordinatesystem is as follows: $\begin{matrix}\begin{matrix}{D \cong {\sum\limits_{i}{\sum\limits_{j}\left\{ {\left\lbrack {\left( {{y\left( {i,j} \right)} - {y^{\prime}\left( {i,j} \right)}} \right) + {1.5\left( {{v\left( {i,j} \right)} - {v^{\prime}\left( {i,j} \right)}} \right)}} \right\rbrack^{2} +} \right.}}} \\{{\left\lbrack {\left( {{y\left( {i,j} \right)} - {y^{\prime}\left( {i,j} \right)}} \right) - {0.5\left( {{v\left( {i,j} \right)} - {v^{\prime}\left( {i,j} \right)}} \right)}} \right\rbrack^{2} +}} \\\left. \left\lbrack {\left( {{y\left( {i,j} \right)} - {y^{\prime}\left( {i,j} \right)}} \right) + {2\left( {{u\left( {i,j} \right)} - {u^{\prime}\left( {i,j} \right)}} \right)}} \right\rbrack^{2} \right\}\end{matrix} & (2)\end{matrix}$

[0031] where y(i,j), u(i,j), and v(i,j) represent the luminance andchrominance components of the pixel disposed at coordinates (i, j) ofthe current block. Similarly, y′(i,j), u′(i,j), and v′(i,j) representthe luminance and chrominance components of the pixel disposed atcoordinates (i, j) of the reference block. Ignoring the cross terms,equation (2) may be simplified, as shown below: $\begin{matrix}\begin{matrix}{D \cong {\sum\limits_{i}{\sum\limits_{j}\left\{ {{3\left\lbrack {{y\left( {i,j} \right)} - {y^{\prime}\left( {i,j} \right)}} \right\rbrack}^{2} +} \right.}}} \\\left. {{4\left\lbrack {{u\left( {i,j} \right)} - {u^{\prime}\left( {i,j} \right)}} \right\rbrack}^{2} + {2.5\left\lbrack {{v\left( {i,j} \right)} - {v^{\prime}\left( {i,j} \right)}} \right\rbrack}^{2}} \right\}\end{matrix} & (3)\end{matrix}$

[0032] Equation (3) may be further simplified by replacing the squareoperator with the absolute value operator, as shown below:$\begin{matrix}{D \cong \begin{matrix}{{{3{\sum\limits_{i}{\sum\limits_{j}{{{y\left( {i,j} \right)} - {y^{\prime}\left( {i,j} \right)}}}}}} +}} \\{{{4{\sum\limits_{i}{\sum\limits_{j}{{{u\left( {i,j} \right)} - {u^{\prime}\left( {i,j} \right)}}}}}} + {2.5{\sum\limits_{i}{\sum\limits_{j}{{{v\left( {i,j} \right)} - {v^{\prime}\left( {i,j} \right)}}}}}}}}\end{matrix}} & (4)\end{matrix}$

[0033] In equation (4), the following term:$\sum\limits_{i}{\sum\limits_{j}{{{y\left( {i,j} \right)} - {y^{\prime}\left( {i,j} \right)}}}}$

[0034] is alternatively referred to hereinbelow as the sum of absolutedifference SAD_(y) for component Y. Similarly the other two summationsare alternatively referred to as SAD_(u) and SAD_(v). Accordingly, foreach block, the motion-compensated color-distance value D is a sum ofabsolute difference (SAD) of the YUV components.

[0035] The constant coefficients (i.e., 3, 4 and 2.5) in equation (4)may be scaled to match human color-perception. Consequently, equation(4) may be expanded into a linear combination of the following threesummations: $\begin{matrix}{D \cong \begin{matrix}{{{a_{y}{\sum\limits_{i}{\sum\limits_{j}{{{y\left( {i,j} \right)} - {y^{\prime}\left( {i,j} \right)}}}}}} +}} \\{{{a_{u}{\sum\limits_{i}{\sum\limits_{j}{{{u\left( {i,j} \right)} - {u^{\prime}\left( {i,j} \right)}}}}}} + {a_{v}{\sum\limits_{i}{\sum\limits_{j}{{{v\left( {i,j} \right)} - {v^{\prime}\left( {i,j} \right)}}}}}}}}\end{matrix}} & (5)\end{matrix}$

[0036] where a_(y), a_(u), and a_(v) are constant coefficients.

[0037] To determine whether the block includes color-motion artifact(s),the motion-compensated color-distance value D computed for the block iscompared against a pre-defined threshold value T. If themotion-compensated color-distance D is greater than or equal tothreshold T, the block is identified as containing color-motionartifacts, as described further below.

[0038] Calculation of the Threshold Value

[0039] The threshold value T used to determine whether a block containscolor-motion artifact(s), may depend on a number of factors, such as theactivity level or the target bit rate allocated for the block. A lowactivity level indicates that there are smooth transitions in the pixelvalues disposed in the block, accordingly, a relatively low threshold isselected in identifying potential color motion artifacts in such blocks.On the other hand, a relatively high activity level indicates that thereare abrupt transitions in the pixel values disposed in the block,accordingly, a relatively high threshold is selected in identifyingpotential color motion artifacts in such blocks. Therefore, thethreshold value selected for identification of potential color motionartifacts is directly proportional to the level of activity in theblock.

[0040] As described above, another factor that is used in establishingthe threshold value is the target bit rate allocated for the block. Arelatively high threshold is selected when a low target bit rate isallocated for encoding the block. Conversely a relatively low thresholdis selected when a high target bit rate is allocated for encoding theblock. Therefore, the threshold value selected for identification ofpotential color motion artifacts is inversely proportional to the targetbit rate allocated for encoding the block.

[0041] The following is an example of a pseudo code for selecting thethreshold value T: CalculateMismath_Threshold_D (actj,bitrate) { if(actj<=2) Mismath_Threshold_D = 2000; else Mismath_Threshold_D = 4000;if(bit_rate<100000) Mismath_Threshold_D = 5500; }

[0042] where actj is a measure of the activity level in the underlyingblock.

[0043] As described above, to detect color-motion artifacts, themotion-compensated color-distance value D is compared with the thresholdvalue T. If the motion-compensated color-distance D is greater than orequal to the threshold value T, the block is identified as containingcolor-motion artifacts.

[0044] Color Motion Artifacts Detection Using Intra/Inter-frame activity

[0045] In accordance with another embodiment of the present invention,to detect color-motion artifacts in a frame block, the level ofintra-frame activity within the block is compared against the level ofinter-frame activity for the block. If any of the y, u and v components(described below) of the inter-frame activity level is greater than orequal to the corresponding component of the intra-frame activity level,the block is identified as containing color-motion artifact(s). Theintra-frame activity level associated with a frame block depends on thevariation of the pixel values disposed within that frame block. Theinter-frame activity level associated with a frame block, on the otherhand, depends on the variation between the pixel values of that frameblock and the corresponding pixel values of a reference frame block.

[0046] Inter-frame activity and intra-frame activity values both may bedefined by each of they, u and v components of the block. Thecomputation of inter-frame activity and intra-frame activity levels aredescribed below.

[0047] Computation of Inter/Intra-frame Activity Levels

[0048] Intra-frame activity levels A_(y-Intra), A_(u-Intra), andA_(v-Intra) associated respectively with the y, u and v components of ablock, are computed as shown below: $\begin{matrix}{A_{y\text{-}{Intra}} = {\sum\limits_{i}{\sum\limits_{j}{{{y\left( {i,j} \right)} - \overset{\_}{y}}}}}} \\{A_{u\text{-}{Intra}} = {\sum\limits_{i}{\sum\limits_{j}{{{u\left( {i,j} \right)} - \overset{\_}{u}}}}}} \\{A_{v\text{-}{Intra}} = {\sum\limits_{i}{\sum\limits_{j}{{{v\left( {i,j} \right)} - \overset{\_}{v}}}}}}\end{matrix}$

[0049] where {overscore (y)}, {overscore (u)} and {overscore (v)} arerespectively the mean values of y, u and v for all the pixels disposedin the block.

[0050] Similarly, inter-frame activity levels A_(y-Inter), A_(u-Inter),and A_(v-lnter) associated respectively with the y, u and v componentsof the frame, are computed as shown below: $\begin{matrix}{A_{y\text{-}{Inter}} = {\sum\limits_{i}{\sum\limits_{j}{{{y\left( {i,j} \right)} - {y^{\prime}\left( {i,j} \right)}}}}}} \\{A_{u\text{-}{Inter}} = {\sum\limits_{i}{\sum\limits_{j}{{{u\left( {i,j} \right)} - {u^{\prime}\left( {i,j} \right)}}}}}} \\{A_{v\text{-}{Inter}} = {\sum\limits_{i}{\sum\limits_{j}{{{v\left( {i,j} \right)} - {v^{\prime}\left( {i,j} \right)}}}}}}\end{matrix}$

[0051] where y′(i, j), u′(i, j) and v′(i,j) respectively represent theluminance and chrominance components of the pixel positioned atcoordinates (i, j) of the corresponding motion-compensated block of areference frame.

[0052] In accordance with the present invention, if any of the y, u andv components of the inter-frame activity level for a block is greaterthan the corresponding component of the intra-frame activity level forthat block, that block is identified as containing color-motionartifact(s). In other words, the block is identified as containingcolor-motion artifact(s) if any of the following inequalities are true:

A _(y-Inter) >A _(y-Intra) or

A _(u-Inter) >A _(u-intra) or

A _(v-Inter) >A _(v-Intra),

[0053] Determination of color motion artifacts in accordance with theabove embodiments of the present invention involves summing absolutevalues, and thus requires fewer computations than do the prior arttechniques. The reduction of color-motion artifact(s) is describedbelow.

[0054] Color Artifact Reduction Using Intra-frame Encoding Mode

[0055] In accordance with one embodiment of the present invention, toreduce color-motion artifact(s), video data is encoded using intra-frameencoding. Switching from inter-frame to intra-frame encoding reduces thecolor-motion artifact(s) while maintaining the compatibility withinternational video standards. The MPEG-1, MPEG-2, and MPEG-4 videocompression standards enable changing the encoding mode from inter-frameto intra-frame at the macroblock level.

[0056] Table I below shows the values of the variable length code (VLC)and other associated parameters of the MPEG-1 and MPEG-2 encodingstandards for a predictive frame (i.e., P-frame). In Table I, a 1indicates that that parameter (or feature) printed at the top of thecolumn is selected. A 1 in the last column titled macroblock intraindicates that intra-frame mode is used in encoding of the video data.Therefore, by varying the VLC parameter, the encoding mode of amacroblock of a predictive frame may be changed from inter-frame tointra-frame mode. In the following, macroblock type is alternativelyreferred to as mb_type. TABLE I MPEG-1 and MPEG-2 VLC code table for themb_type in the predictive frame (P-picture) macro- macro- blockmacroblock block motion motion macroblock macroblock VLC quant forwardbackward pattern intra 1 0 1 0 1 0 01 0 0 0 1 0 001 0 1 0 0 0 00011 0 00 0 1 00010 1 1 0 1 0 00001 1 0 0 1 0 000001 1 0 0 0 1

[0057] Table II below shows a corresponding VLC code and associatedparameters of a P-frame according to the MPEG-4 compression standard. Asseen from Table II, an mb_type of 3 or 4 encodes P-frames usingintra-frame encoding. TABLE II MPEG-4 VLC code table for the mb_type inthe predictive frame (P-picture) VOP Type mb_type Name not_coded mcbpccbpy dquant P not coded — 1 P 0 INTER 1 1 1 P 1 INTER + Q 1 1 1 1 P 3INTRA 1 1 1 P 4 INTRA + Q 1 1 1 1 P stuffing — 1 1

[0058] The H.261 and H.263 video standards also include parameters forselecting intra-frame encoding of video data. Consequently, switchingfrom inter-frame to intra-frame encoding to reduce color motionartifacts, in accordance with the present invention, may be implementedin MPEG-1, MPEG-2, MPEG-4, H.261 and H.263 standards.

[0059] Scaling Quantization

[0060] To reduce color motion artifacts, in accordance with anotherembodiment of the present invention, the quantization scale is lowered,for example, by at least 1 or 2 steps. In other words, a finerquantization step is used to quantize the DCT signals. If the reducedquantization scale falls below 1, the reduced quantization scale is setto 1.

[0061] In accordance with the MPEG-1 and MPEG-2 compression standards(see Table I), the quantization scale may be varied by changing the5-bit parameter macroblock quant. In the MPEG-4 compression standard(see Table II), the quantization scale is altered via parameter dquantwhich holds a value representative of the difference between the currentand previous quantization scales.

[0062] A sample pseudo code for varying the quantization scale is shownbelow: if   (Color_Artifact_Detected) { Quantization_Scale −= 2; if(Quantization_Scale <= 1){ Quantization_Scale = 1; }}

[0063]FIG. 3 is a simplified high-level block diagram of a conventionalsystem 200 adapted to detect color-motion artifacts. System 100 receivesa sequence of incoming video frames via frame reorder block 102. Inresponse, frame reorder block 102 serially supplies the (Y,U,V)components of a current frame of the frame sequence to anadder/subtractor 104. Adder/subtractor 104 is also adapted to receive asignal from motion compensation block 106 via selector 108. If selector108 is in the upper position, then intra-frame coding is used in whichcase a null signal (i.e., 0) is supplied to adder/subtractor 104. On theother hand, if selector 108 is in the lower position, then inter-framecoding is used. Adder/subtractor 104 generates a signal that correspondsto the difference between the video data supplied by frame reorder block102 and that supplied by selector 108.

[0064] The signal generated by adder/subtractor 104 is supplied to DCTblock 110 whose output signal is quantized by a quantizer 112. Thequantized signal generated by quantizer 112 is then encoded by VLC 114.The signal encoded by VLC 114 is then stored in buffer 116, which inturn, supplies the encoded video bit stream to a video decoder (notshown).

[0065] The signal generated by quantizer 112 is inversely quantized byan inverse quantizer 118 and is subsequently delivered to IDCT 120. IDCT20 performs an inverse DCT function on the signal it receives andsupplies that signal to adder 122. Adder 122 adds the signal it receivesfrom selector 108 to the signal it receives from IDCT 120 and stores theadded result in frame memory 124 for future retrieval. The signal storedin frame memory 124 only includes the luma component of a current frameand is adapted to serve as a reference frame for motion estimation andcompensation of future frames.

[0066] A motion estimator 128 receives the signal stored in frame memory124 and the signal supplied by frame reorder block 102 to generate amotion vector signal that is supplied to motion compensation block 106.Only the luma components of the current frame—as supplied by framereorder block 102—and the reference frame—as supplied by frame memory124—are received and used by motion estimator 128 to generate a motionvector. The motion vector generated by motion estimator 128 is suppliedto motion compensator 106. Motion compensator 106, in turn, compensatesfor the motion of the signal it receives from frame memory 124 using themotion vector signal that it receives from motion estimator 128. Theoutput signal generated by motion compensator 106 is amotion-compensated signal of a current frame and serves as the referenceframe for the next incoming frame when inter-frame encoding is used.

[0067] There may be occasions when a reference frame is not required.For example, no reference frame is required when a new video sequence isreceived by system 100. Similarly, there is no need for a referenceframe when processing the first frame of a new scene. To accommodatesituations where no reference frame is need, selector 108 is providedwith an upper position. When placed in the upper position, a null signal(i.e., 0) is transferred to subtracted 104.

[0068] After block 150 detects a color motion artifact, block 150generates a control signal. The control signal either causes theencoding mode to change from inter-frame to intra-frame or causes thequantization scale to change. Block 150, in accordance with the presentinvention, advantageously performs fewer computations to detect andreduce color-motion artifacts than do prior art systems. In oneembodiment, block 150 may include only software modules that areexecuted by one or more central processing units. In another embodiment,block 150 may by a dedicated hardware logic unit. In yet otherembodiment, block 150 may include both hardware and software modules.

[0069] The above embodiments of the present invention are illustrativeand not limiting. Various alternatives and equivalents are possible. Theinvention is not limited by the type of integrated circuit in which thepresent invention may be disposed. Nor is the invention limited to anyspecific type of process technology, e.g., CMOS, Bipolar, or BICMOS thatmay be used to manufacture the present invention. Other additions,subtractions or modifications are obvious in view of the presentinvention and are intended to fall within the scope of the appendedclaims.

What is claimed is:
 1. A method for detecting a color-motion artifact ina block of a video frame, the method comprising: computing amotion-compensated color-difference value associated with the block; andidentifying the block as containing a color motion artifact if themotion-compensated color-distance value associated with the block is oneof greater than and equal to a threshold value.
 2. The method of claim 1wherein the motion-compensated color-difference value is defined by asum of squared differences of corresponding red, green and bluecomponent values of similarly located pixels of the block and anassociated block of a reference frame.
 3. The method of claim 1 whereinthe motion-compensated color-difference value is defined by a sum ofabsolute values of differences of corresponding luminance andchrominance component values of similarly located pixels of the blockand an associated block of a reference frame.
 4. The method of claim 3wherein the motion-compensated color-difference value D is defined by$D \cong \begin{matrix}{{{a_{y}{\sum\limits_{i}{\sum\limits_{j}{{{y\left( {i,j} \right)} - {y^{\prime}\left( {i,j} \right)}}}}}} +}} \\{{{a_{u}{\sum\limits_{i}{\sum\limits_{j}{{{u\left( {i,j} \right)} - {u^{\prime}\left( {i,j} \right)}}}}}} + {a_{v}{\sum\limits_{i}{\sum\limits_{j}{{{v\left( {i,j} \right)} - {v^{\prime}\left( {i,j} \right)}}}}}}}}\end{matrix}$

wherein y(i, j) represents a luminance component of a pixel disposed atcoordinates (i, j) of the block and wherein u(i, j) and v(i, j)represent chrominance components of the pixel disposed at coordinates(i, j) of the block, wherein y′(i, j) represents a luminance componentof a pixel disposed at coordinates (i, j) of the associated block of thereference frame and wherein u(i, j) and v(i, j) represent chrominancecomponents of the pixel disposed at coordinates (i, j) of the associatedblock of the reference frame, and wherein a_(y), a_(u) and a_(v) areconstants coefficients.
 5. The method of claim 1 wherein the thresholdvalue is defined by an activity level associated with the block.
 6. Themethod of claim 1 wherein the threshold value is defined by a target bitrate associated with the block.
 7. The method of claim 1 wherein theblock includes one of 16×16 and 8×8 pixels.
 8. The method of claim 1wherein the block includes the entire video frame.
 9. A method fordetecting a color-motion artifact in a block of a video frame, themethod comprising: computing an inter-frame activity level for a firstone of luminance and chrominance components of the block; computing anintra-frame activity level for a corresponding first one of theluminance and chrominance components of the block; and identifying theblock as containing a color motion artifact if the computed inter-frameactivity level is one of greater than and equal to the computedintra-frame activity level.
 10. The method of claim 9 furthercomprising: computing an inter-frame activity level for a second one ofthe luminance and chrominance components of the block; computing anintra-frame activity level for a corresponding second one of theluminance and chrominance components of the block; and identifying theblock as containing a color motion artifact if the computed inter-frameactivity level for the second one of the chrominance and luminancecomponents of the block is one of greater than and equal to the computedintra-frame activity level for the corresponding second one of thechrominance and luminance components of the block.
 11. The method ofclaim 10 further comprising: computing an inter-frame activity level fora third one of the luminance and chrominance components of the block;computing an intra-frame activity level for a corresponding third one ofthe luminance and chrominance components of the block; and identifyingthe block as containing a color motion artifact if the computedinter-frame activity level for the third one of the chrominance andluminance components of the block is one of greater than and equal tothe computed intra-frame activity level for the corresponding third oneof the chrominance and luminance components of the block.
 12. The methodof claim 11 wherein the intra-frame activity levels for the luminanceand chrominance components of the block are respectively defined by:$\begin{matrix}{A_{y\text{-}{Intra}} = {\sum\limits_{i}{\sum\limits_{j}{{{y\left( {i,j} \right)} - \overset{\_}{y}}}}}} \\{A_{u\text{-}{Intra}} = {\sum\limits_{i}{\sum\limits_{j}{{{u\left( {i,j} \right)} - \overset{\_}{u}}}}}} \\{A_{v\text{-}{Intra}} = {\sum\limits_{i}{\sum\limits_{j}{{{v\left( {i,j} \right)} - \overset{\_}{v}}}}}}\end{matrix}$

wherein y(i, j), u(i, j) and v(i, j)represent the luminance andchrominance components of a pixel disposed at position (i, j) of theblock and wherein {overscore (y)}, {overscore (u)} and {overscore (v)}represent the mean values of the luminance component y, and chrominancecomponents u and v of all the pixels disposed in the block.
 13. Themethod of claim 12 wherein the inter-frame activity levels for theluminance and chrominance components of the block are respectivelydefined by:$A_{y - {Inter}} = {\sum\limits_{i}\quad {\sum\limits_{j}\quad {{{y\left( {i,j} \right)} - {y^{'}\left( {i,j} \right)}}}}}$$A_{u - {Inter}} = {\sum\limits_{i}\quad {\sum\limits_{j}\quad {{{u\left( {i,j} \right)} - {u^{'}\left( {i,j} \right)}}}}}$$A_{v - {Inter}} = {\sum\limits_{i}\quad {\sum\limits_{j}\quad {{{v\left( {i,j} \right)} - {v^{'}\left( {i,j} \right)}}}}}$

wherein y′(i, j), u′(i, j) and v′(i,j) respectively represent theluminance and chrominance components of a pixel disposed at coordinates(i, j) of an associated block of a reference frame.
 14. The method ofclaim 13 wherein the block includes one of 16×16 and 8×8 pixels.
 15. Themethod of claim 13 wherein the block includes the entire video frame.16. A method for reducing color motion artifacts in a video frame, themethod comprising: receiving the video frame ; and selecting intra-frameencoding to encode data associated with the video frame thereby toreduce the color motion artifacts.
 17. A method for reducing colormotion artifacts in a video frame, the method comprising: receiving thevideo frame ; and reducing the quantization scale in accordance withwhich data associated with the vide frame is quantized thereby to reducethe color motion artifacts.
 18. The method of claim 17 furthercomprising: limiting the reduced quantization scale to one.
 19. Anapparatus adapted to detect a color-motion artifact in a block of avideo frame, the apparatus comprising: a first module adapted to computea motion-compensated color-difference value associated with the block;and a second module adapted to identify the block as containing a colormotion artifact if the motion-compensated color-distance value computedfor the block is one of greater than and equal to a threshold value. 20.The apparatus of claim 19 wherein the motion-compensatedcolor-difference value is defined by a sum of squared differences ofcorresponding red, green and blue component values of similarly locatedpixels of the block and an associated block of a reference frame. 21.The apparatus of claim 19 wherein the motion-compensatedcolor-difference value is defined by a sum of absolute values ofdifferences of corresponding luminance and chrominance component valuesof similarly located pixels of the block and an associated block of areference frame.
 22. The apparatus of claim 21 wherein themotion-compensated color-difference value D is defined by$D \cong {{a_{y}{\sum\limits_{i}\quad {\sum\limits_{j}\quad {{{y\left( {i,j} \right)} - {y^{'}\left( {i,j} \right)}}}}}} + {a_{u}{\sum\limits_{i}\quad {\sum\limits_{j}\quad {{{u\left( {i,j} \right)} - {u^{'}\left( {i,j} \right)}}}}}} + {a_{v}{\sum\limits_{i}\quad {\sum\limits_{j}\quad {{{v\left( {i,j} \right)} - {v^{'}\left( {i,j} \right)}}}}}}}$

wherein y(i, j) represents a luminance component of a pixel disposed atcoordinates (i, j) of the block and wherein u(i, j) and v(i, j)represent chrominance components of the pixel disposed at coordinates(i, j) of the block, wherein y′(i, j) represents a luminance componentof a pixel disposed at coordinates (i, j) of the associated block of thereference frame and wherein u(i, j) and v(i, j) represent chrominancecomponents of the pixel disposed at coordinates (i, j) of the associatedblock of the reference frame, and wherein a_(y), a_(u) and a_(v) areconstants coefficients.
 23. The apparatus of claim 19 wherein thethreshold value is defined by an activity level associated with theblock.
 24. The apparatus of claim 19 wherein the threshold value isdefined by a target bit rate associated with the block.
 25. Theapparatus of claim 19 wherein the block includes one of 16×16 and 8×8pixels.
 26. The apparatus of claim 19 wherein the block includes theentire video frame.
 27. The apparatus of claim 19 wherein each of thefirst, second and third modules is a software module.
 28. The apparatusof claim 19 wherein each of the first, second and third modules is ahardware module.
 29. The apparatus of claim 19 wherein each of thefirst, second and third modules further includes software and hardwaremodules.
 30. An apparatus adapted to detect a color-motion artifact in ablock of a video frame, the apparatus comprising: a first module adaptedto compute an inter-frame activity level for a first one of luminanceand chrominance components of the block; a second module adapted tocompute an intra-frame activity level for a corresponding first one ofthe luminance and chrominance components of the block; and a thirdmodule adapted to identify the block as containing a color motionartifact if the computed inter-frame activity level is one of greaterthan and equal to the computed intra-frame activity level.
 31. Theapparatus of claim 30 wherein said first module is further adapted tocompute an inter-frame activity level for a second one of the luminanceand chrominance components of the block, wherein said second module isfurther adapted to computing an intra-frame activity level for acorresponding second one of the luminance and chrominance components ofthe block, and wherein said third module is further adapted to identifythe block as containing a color motion artifact if the computedinter-frame activity level for the second one of the chrominance andluminance components of the block is one of greater than and equal tothe computed intra-frame activity level for the corresponding second oneof the chrominance and luminance components of the block.
 32. Theapparatus of claim 31 wherein said first module is further adapted tocompute an inter-frame activity level for a third one of the luminanceand chrominance components of the block, wherein said second module isfurther adapted to computing an intra-frame activity level for acorresponding third one of the luminance and chrominance components ofthe block, and wherein said third module is further adapted to identifythe block as containing a color motion artifact if the computedinter-frame activity level for the third one of the chrominance andluminance components of the block is one of greater than and equal tothe computed intra-frame activity level for the corresponding third oneof the chrominance and luminance components of the block.
 33. Theapparatus of claim 32 wherein the intra-frame activity levels for theluminance and chrominance components of the block are respectivelydefined by:$A_{y - {Intra}} = {\sum\limits_{i}\quad {\sum\limits_{j}\quad {{{y\left( {i,j} \right)} - \overset{\_}{y}}}}}$$A_{u - {Intra}} = {\sum\limits_{i}\quad {\sum\limits_{j}\quad {{{u\left( {i,j} \right)} - \overset{\_}{u}}}}}$$A_{v - {Intra}} = {\sum\limits_{i}\quad {\sum\limits_{j}\quad {{{v\left( {i,j} \right)} - \overset{\_}{v}}}}}$

wherein y(i, j), u(i, j) and v(i, j) represent the luminance andchrominance components of a pixel disposed at position (i,j) of theblock and wherein {overscore (y)}, {overscore (u)} and {overscore (v)}represent the mean values of the luminance component y, and chrominancecomponents u and v of all the pixels disposed in the block.
 34. Theapparatus of claim 33 wherein the inter-frame activity levels for theluminance and chrominance components of the block are respectivelydefined by:$A_{y - {Inter}} = {\sum\limits_{i}\quad {\sum\limits_{j}\quad {{{y\left( {i,j} \right)} - {y^{'}\left( {i,j} \right)}}}}}$$A_{u - {Inter}} = {\sum\limits_{i}\quad {\sum\limits_{j}\quad {{{u\left( {i,j} \right)} - {u^{'}\left( {i,j} \right)}}}}}$$A_{v - {Inter}} = {\sum\limits_{i}\quad {\sum\limits_{j}\quad {{{v\left( {i,j} \right)} - {v^{'}\left( {i,j} \right)}}}}}$

wherein y′(i, j), u′(i, j) and v′(i,j) respectively represent theluminance and chrominance components of a pixel disposed at coordinates(i, j) of an associated block of a reference frame.
 35. The apparatus ofclaim 30 wherein the block includes one of 16×16 and 8×8 pixels.
 36. Theapparatus of claim 30 wherein the block includes the entire video frame.37. The apparatus of claim 30 wherein each of the first, second andthird modules is a software module.
 38. The apparatus of claim 30wherein each of the first, second and third modules is a hardwaremodule.
 39. The apparatus of claim 30 wherein each of the first, secondand third modules further includes software and hardware modules.